/**
 * @param {number[]} pushed
 * @param {number[]} popped
 * @return {boolean}
 */
 var validateStackSequences = function(pushed, popped) {
    var stack=[];
    let offset=0;
    for(let e of popped){
        if(e!=stack[stack.length-1]){
            while(offset<pushed.length&&pushed[offset]!=e){
                stack.push(pushed[offset]);
                offset++;
            }
            if(offset==pushed.length){
                return false;
            }
            offset++;
        }
        else{
            stack.pop();
        }
    }
    return true;
};

// 执行用时：
// 76 ms
// , 在所有 JavaScript 提交中击败了
// 97.78%
// 的用户
// 内存消耗：
// 39.8 MB
// , 在所有 JavaScript 提交中击败了
// 29.15%
// 的用户